home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
doors_2
/
shmpg355.zip
/
WHAT'S.NEW
< prev
Wrap
Text File
|
1992-12-11
|
24KB
|
572 lines
Fri 12-11-1992
Ver 3.55
* Due to another SysOp's suggestion, I have made the following new variables
available for your key word replies:
*PASSWORD* - replaced by caller's password.
*PHONE* - replaced by caller's phone number.
*SECURITY* - replaced by security level.
*TIMEENTERED* - replaced by time the caller entered SHAMpage.
┌───────────────────────────────────────────────────────┐
│ ADDITIONAL VARIABLES AVAILABLE ONLY IF USING DOOR.SYS │
└───────────────────────────────────────────────────────┘
The variables above work whether you are using DORINFOx.DEF or DOOR.SYS as
your drop file. The following variables work ONLY if you use DOOR.SYS
(DORINFO doesn't contain this information):
*BIRTHDATE* - Caller's date of birth (00/00/00).
*DOWNLOADS* - Caller's total downloads from your board.
*LASTCALLED* - Date the caller last called.
*TIMESON* - Number of times the caller has called your board.
*UPLOADS* - Caller's total uploads to your board.
As always, all variables are enclosed in asterisks (*) and are always UPPER
CASE (except *KEYWORD* and *TIMEOFDAY*, as noted below).
* Updated Maintain.Exe to reflect these changes.
Ver 3.51
* Minor bug initializing the FOSSIL drivers in local mode fixed.
Ver 3.50
* Added FOSSIL support via the command line parameter FOSSIL.
EXAMPLE COMMAND LINE: SHAMpage Shampage.Cfg FOSSIL
SHAMpage now has a mode where it will operate with FOSSIL drivers (INT 14h
interface). Using FOSSIL mode allows you to use virtually any type of
communications hardware, since the type of hardware accessed is dependant
on the FOSSIL driver. This mode requires that you have a FOSSIL driver
loaded in advance. If in FOSSIL mode, that information is shown on the
local line 25 status line.
* Added support for extended IRQs via the command line switch IRQ=x, where x
equals the IRQ number you wish to use. Shampage supports IRQ 1 - 15.
EXAMPLE COMMAND LINE: SHAMpage Shampage.Cfg IRQ=7
The following port addresses and default interrupts are used normally:
Comm Base Address IRQ (Default)
1 3F8 hex 4
2 2F8 hex 3
3 3E8 hex 4
4 2E8 hex 3
Specify an IRQ value of 1 through 15 when you want to use an IRQ value
other than the default, such as when you want to use IRQ15 with COM3.
NOTE:
Be careful when choosing an IRQ value other than the default. Most machines
use some of the other IRQ inputs for other machine functions such as the
hard drive and system clock. SHAMpage DOES NOT chain the interrupt, it
takes it over entirely. If you choose an IRQ that is used for something
already, your machine will most certainly operate improperly.
No IRQ value is necessary in FOSSIL mode since all communications tasks are
handled outside of SHAMpage. The IRQ is determined at the time the FOSSIL
driver is installed.
Ver 3.26
* Received a report that under certain specific conditions (running under
Windows - with a DOS window in the background), the delays for the opening
page bell were taking too long. Changed the method of calculating those
delays.
Ver 3.25
* Added another variable: *TIMEOFDAY* which is replaced, depending on the
time of day, by one of three words - "morning" (12:00am to 11:59am),
"afternoon" (12:00pm to 5:59pm), or "evening" (6:00pm to 11:59pm). Like
*KEYWORD*, this variable comes in three styles. If it is in the data file
in all upper case, e.g. *TIMEOFDAY*, the substituted word will be typed in
all CAPS: MORNING, AFTERNOON or EVENING. *timeofday* will be replaced by
morning, afternoon or evening, and *Keyword* will use Morning, Afternoon or
Evening. This variable works fine in OPENING LINES, EXITMSG and NOMATCH
replies as well as in KEYWORD responses.
* This was my week to work on SHAMPAGE.LOG. Changed the log to be a little
more informative. Added the user's age (if using DOOR.SYS) and location to
the log. Date entries no longer include the year and time entries no longer
include the seconds (the same is true in SHAMPAGE.ERR). Here is a sample of
the new log entry:
===============================================================================
MARLON BAILEY (Age 13), Coral Springs, FL entered SHAMpage on 09-07 at 17:28
SHAMpage v3.25 is using SHAMpage.Dat
===============================================================================
* Decided the "->" in the log was pretty hard on the eyes, so I changed it to
a simple colon (:).
* Changed the log entry when SHAMpage doesn't pick up the page due to the
caller not having enough time-left. It was not logging the user's name and
was not differentiating clearly enough from other log entries. Here is what
is logged now:
===============================================================================
MICHELLE TUOHY (Age 21), Hollywood, FL paged SysOp on 09-07 at 02:08
Page not answered by SHAMpage v3.25 (caller had 2 minutes left)
===============================================================================
SHAMpage terminated normally at 02:08
Ver 3.24
* Added a new variable: *KEYWORD* which is replaced by the word SHAMpage
matched, regardless of whether it was a KEY WORD or an ALIAS. This is so
you can make reference to the exact word the user typed in your replies.
This variable comes in several flavors. If it is all upper case, like the
example above, the variable itself will be typed in all CAPS. *keyword*
will be replaced by the variable in all lower case letters, and *Keyword*
will have the First Letter Only Capitalized.
NOTE: this variable is obviously useless in OPENING LINES, EXITMSG and
NOMATCH replies, since no match was found. (So DON'T use it there!)
Here is an example:
;----------------------------------------------------------------------------
; KEY WORD #1
;----------------------------------------------------------------------------
AWESOME
*ALIAS* COOL
3
*Keyword*, huh? You have a great vocabulary.
You're pretty *keyword* yourself, dude!
I'm surprised you can spell *KEYWORD*, *USER*.
If the caller types "This is a cool board", SHAMpage replies:
"Cool, huh? You have a great vocabulary."
or
"You're pretty cool yourself, dude!"
or
"I'm surprised you can spell COOL, Joe."
* Since the original release of the program, I had been deducting one (1)
minute from the user's time-left to allow for proper log off from the BBS
after SHAMpage terminates. Due to the availability of the new TIME=x
command-line parameter, I discontinued this practice. Now it's completely
up to you to decide how much of his time-left you want to allow the caller
to spend in the door. As far as SHAMpage is concerned, he can spend it ALL,
unless you tell it otherwise via the TIME=x switch.
* Updated MAINTAIN.EXE and the data files to make use of the new *KEYWORD*
variables.
Ver 3.23
* If the caller has less than five (5) minutes left, SHAMpage will no longer
pick up the page. It goes through the "Paging SysOp... 1 2 3 "
routine, then sends the hard-coded message:
[SysOp First Name] is not available at the moment.
Please leave a [C]omment or try again later.
It seemed rather silly to pick up the page only to kick the caller off
immediately. Now, when SHAMpage does pick up the page, the caller will have
at least five minutes to "chat".
* Changed how SHAMpage exits when the caller runs out of time. Instead of
being unceremoniously dumped with no warning, the caller receives the
"Nice chatting with you" message and goodbye screen as if the door had
terminated in any of the other normal ways, such as the caller entering
"Bye". If the caller does not press a key within three (3) minutes while
SHAMpage is expecting remote input, however, the door still exits directly
back to the BBS, bypassing the goodbye message and screen. If the caller
hasn't hit a key in three minutes, presumably he fell asleep!
Ver 3.22
* Fixed illegal function call if the caller had a one-word name or handle.
Also made it possible for the SysOp to use a one-word name or handle (leave
line 3 blank in the config file).
* Added a new (optional) command-line parameter to limit the caller to only a
certain percentage of his time-left in the door. I found that many of my
callers were spending their entire time in the door and were immediately
logged off upon their return to the BBS, leaving them no time to enter a
[C]omment to SysOp. The new parameter is "TIME=x", where x represents the
percentage of the caller's time-left you want him to be in chat. An example
command line:
SHAMpage SHAMpage.Cfg TIME=80
Using this example, if the caller has twenty minutes left when he pages,
SHAMpage will chat with him for sixteen minutes (80% of 20) before sending
him back to the board with four minutes online time remaining. If you
choose, you can even INCREASE his time in the door by making x larger than
100 (although, be warned... he will be dumped by the BBS upon his return to
the board!)
While tinkering with the time routines, I modified some to make them more
reliable.
* Added Jeff Sumberg's QBSERIAL copyright credit to the opening screen.
Ver 3.21
* Added the second-most requested feature: the ability to send multi-line
responses. This is accomplished with a new variable: *LF* (line-feed). If
*LF* occurs within a response in the data file, the line will be split at
that point, a line-feed will be sent and the rest of the response will be
typed on the next line. The entire response must occupy ONLY one line in
your data file however, and the length of the line is limited to 255 total
characters. Multiple *LF*'s on a single line are supported. Here is a line
which is 88 characters long (notice the lack of carriage return within the
line itself) from the sample SHAMPAGE.DAT:
My head hurts, my feet stink, and I don't love Jesus, *USER*. *LF* How's your day going?
This response will be typed as the following two separate lines:
My head hurts, my feet stink, and I don't love Jesus, Joe.
How's your day going?
To see another example, fire up SHAMpage and type shampage a few times!
* Added another variable: *ALIAS*. This allows you to use the exact same set
of responses with several different key words. The format is as follows:
In your data file, on the next line(s) after the key word, you may have up
to five (5) *ALIAS* key words. These are alternative key words to which
SHAMpage will make a positive match and send one of the replies to the
related key word. There are many advantages to this. If you utilize the
*ALIAS*'s, SHAMpage will match more key words (up to 600, instead of the
original 100 limit), the data file can be smaller and SHAMpage will not
repeat itself as often since you do not need separate entries for different
key words which are synonymous anyway. Here is a clip from the sample
SHAMPAGE.DAT:
;----------------------------------------------------------------------------
; KEY WORD #1
;----------------------------------------------------------------------------
FUNNY
*ALIAS* HA HA
*ALIAS* HAHA
*ALIAS* JOKE
*ALIAS* LAFF
*ALIAS* LAUGH
5
Funny stuff, huh?
So you think that's funny, huh? You're warped!
Sometimes I kill myself!
What a sense of humor...
You think that's funny? Try looking in the mirror, *USER*!
;----------------------------------------------------------------------------
If the caller enters a string matching "HA HA", "HAHA", "JOKE", "LAFF" or
"LAUGH" it will be treated exactly the same as if he entered "FUNNY".
Note the format: *ALIAS*'s come between the key word and the number of
responses.
* Modified file access to make SHAMpage multi-node aware. Here are examples
of the way I have the various files set up for two nodes on DrawBridge:
MAIN1.BAT
@Echo Off
Echo * Paged sysop (SHAMpage) >> C:\Wc30\Activity.00%Wcnodeid%
Cd \Doors\Shampage
Shampage Shampage.%Wcnodeid%
SHAMPAGE.1 (renamed from SHAMPAGE.CFG)
DrawBridge BBS
RICH
WAUGH
C:\Wc30\Wcwork\Node1\Door.Sys
SPLIT
SHAMpage.Dat
SHAMpage.001
1
3
23:00
08:00
SHAMPAGE.2 (renamed from SHAMPAGE.CFG)
DrawBridge BBS
RICH
WAUGH
C:\Wc30\Wcwork\Node2\Door.Sys
SPLIT
SHAMpage.Dat
SHAMpage.002
1
3
23:00
08:00
* Revised MAINTAIN.EXE to handle the new *ALIAS* variable correctly. It now
auto-detects if it's working on an old format data file or one which has
already been converted. One less decision for all you harried SysOps. More
kinds of errors are now detected and last, but not least, it is so much
prettier! <grin>.
Ver 3.20:
* Added the feature that's been requested most often - the ability to send
the contents of a text file upon a positive key word match. This is
implemented using a new variable in the data file as follows: if the left-
most string in a key word reply is *FILE* (as always, upper case with the
asterisks), SHAMpage will open a file matching the name on the remainder of
that line and "type" its contents to the caller. If this is unclear, look
at SHAMPAGE.DAT, under the key word REGIST. You will see something similar
to the following:
;----------------------------------------------------------------------------
; KEY WORD #1
;----------------------------------------------------------------------------
REGIST
1
*FILE* Sendit.Asc
;----------------------------------------------------------------------------
In this case, when SHAMpage finds the string REGIST it looks at the key
word reply and sees *FILE*. That tells it to send the caller the contents
of a file. Next, it reads the remainder of the line for the name of the
file to access, which in this case is SENDIT.ASC. That file is opened, read
and closed. Its entire contents are then typed, line by line, to the
caller. If the file does not exist, SHAMpage will error out (and log the
reason for the error in SHAMPAGE.ERR). There is no limit, other than the
normal limit of ten (10) replies per key word, to the number of different
*FILE*'s you can use. You should be aware that, in split-screen mode, if
*FILE* is over nine (9) lines in length, the first line(s) will be over-
written by the last one(s) after the lines wrap at the end of the SysOp
screen. In full-screen mode, *FILE* can be up to twenty-one (21) lines
before the first line(s) scroll off the screen.
* Added the option to use two different data files: one for normal day time
use, the other for late night hours (as defined by the times you have the
page bell turned on or off). If SHAMpage finds a file named MIDNITE.DAT
in your SHAMpage directory, it will be used instead of the regular data
file whenever the page bell is turned off. If SHAMpage cannot find
MIDNITE.DAT, your regular data file will be used. Whichever data file is
used is noted in SHAMPAGE.LOG.
* The typing routines in Split-Chat mode have been completely redone, to
better handle multiple-line entries. When the cursor line reaches the
split-screen limit the line wraps back up to the top of the current screen.
This prevents, among other things, the SysOp inadvertently overtyping the
▓▓▓▓▓▓▓▓▓▓▓SysOp Name▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓User Name▓▓▓▓▓▓▓▓▓▓▓
line and keeps the cursor always in the correct screen. Whenever the cursor
reaches column 80, a line-feed is sent and the next two lines are cleared.
Restored the cursor position correctly when going to and from live chat and
nuked an extraneous input required of the caller after returning from live
chat. The [F7] and [F8] keys now operate seamlessly.
* Changed the DOS prompt when dropped to DOS to remind you that you are in a
shell.
* Memory requirements have been slightly decreased.
* Bug Fixes: Repaired the "Error 5: Illegal function call" which sneaked into
some intermediate versions between v3.14 and v3.15. When multiple *USER*
and/or *TIME* variables appeared on the same line, only one was translated
properly. All occurrences of these variables are now converted. Cleaned up
a minor screen scroll problem on the goodbye screen. Moved the cursor to
the end of the "Press [ENTER]... " prompt and turned the cursor "on" on the
local screen. The proper lines were not always erased prior to the key word
responses being typed. This has been corrected.
Ver 3.13:
* The local screen is now saved, and restored after the SysOp drops to DOS or
views User's Stats.
* Made [F7] "Live Chat On" and [F8] "End Live Chat" keys hot from anywhere
AFTER the opening greeting and PRIOR to end of chat. Enabled those keys in
local mode. All functions, with the obvious exception of the comm routines,
are now fully enabled in local mode.
* Typo's now appear anywhere in the line. Varied the amount of time it takes
the "SysOp" to recognize a typo and correct it.
* Appended "am" or "pm" to the translation of the *TIME* variable.
* Added new information to SysOp's line 24: caller's location and (if using
DOOR.SYS) his age.
* "SysOp has control...", etc. is no longer printed on the local screen each
time it's the Sysop's turn to type while in full-screen chat mode. Toggled
"[F7] Live Chat On" with "[F8] End Live Chat" on line 25. New command-line
parameters force full-screen or split-screen chat mode. The new parameters
are FULL and SPLIT. The syntax is: SHAMpage SHAMpage.Cfg FULL/SPLIT.
* Error messages were made much more specific; if an error occurs, please
read SHAMPAGE.ERR. The answer to your problem is probably logged. If you
have trouble deciphering the problem by yourself, feel free to send me your
SHAMPAGE.CFG, SHAMPAGE.DAT and SHAMPAGE.ERR files. I'll try to replicate
the error and see if I can help. This still does NOT entitle you to bitch,
though! <grin>
Ver 3.10:
* SHAMpage now checks the caller's time-left and updates the SysOp screen
more often. The time-left warnings to the caller have been discarded, since
they are rather meaningless in "chat" anyway and their main effect was to
alert the caller that he was in a door instead of live chat. The caller
will still get booted out of the door when he runs out of time. While
rewriting this routine, I noticed and fixed a misplaced input-timer
routine. The door now terminates as it should after 3 minutes of input
inactivity.
* Added a new variable to be checked in the data file. The variable name is
*TIME* (upper-case, with the asterisks). If this string occurs anywhere
within the line, the current time, in 12-hour format, will be substituted
in that position.
* Added a new option to run SHAMpage locally, from the command line. The
syntax is: SHAMpage SHAMpage.CFG LOCAL
* Key word search & match routine modified to work faster and more reliably.
* Typo & correction routine redone. Typo's now vary more in length and
SHAMpage will no longer make a typo of a non-letter. Corrections no longer
make typos themselves.
* Wrote a new routine to restore the proper screen colors after use of one of
the SysOp hot keys. Made some minor color changes to lines 24 & 25. Also
changed "Press [ENTER] to continue" prompt to "Press [ENTER] to return to
BBSname".
* Fixed some errors in the disabling of IRQ masks on the Interrupt Controller
when exiting SHAMpage. This could cause certain BBS's which don't reset the
port when returning from a door to appear to "lock up" when they regained
control.
* Cleaned up, optimized and reduced the size of the code. SHAMpage is now
nearly 20% smaller and loads and executes much faster.
Ver 3.05:
* Made the "exit" message configurable. If SHAMPAGE.DAT contains the Key Word
EXITMSG, its "keyword responses" (up to four lines) will all be sent, in
order, upon door termination. If EXITMSG does not appear as a key word, the
default hard-coded exit message will be used.
* SHAMpage now checks for a variable in the data file so you can personalize
your responses a bit more. You will find that the more personal your
responses, using such things as your real name, the caller's name and your
board's name, the more believable the program becomes. The variable name is
*USER* (upper-case, with the asterisks). If this string occurs anywhere
within the line, the caller's first name will be substituted in that
position. This affects the format of the opening lines, where the caller's
name had previously been inserted automatically and necessitates changes to
your SHAMPAGE.DAT file. Please see the enclosed SHAMPAGE.DAT for examples.
* ┌───────────────────────────────────────────────────────────────────────┐
* │ MAINTAIN.EXE HAS BEEN UPDATED TO CONVERT THE OLD SHAMPAGE.DAT TO THE │
* │ LATEST FORMAT, WHICH SUPPORTS THE CHANGES NOTED ABOVE. BE SURE TO RUN │
* │ IT IF YOU INTEND TO USE YOUR OLD CUSTOMIZED DATA FILE. │
* └───────────────────────────────────────────────────────────────────────┘
* Added support for DORINFOx.DEF drop file (refer to line 4 in SHAMPAGE.CFG).
Due to the limited amount of information included in DORINFOx.DEF, the
[F2] User's Stats function is not quite as informative in this mode.
Support for other drop files can be implemented if there is sufficient
interest.
Ver 3.02:
* Added some new means for the caller to exit SHAMpage: by entering G, Q, X
or two consecutive empty lines.
* Reworked some I/O routines. The transmit buffer now works much better.
* Minor color change to match WildCat!'s chat.
* Initial release of MAINTAIN utility for maintaining SHAMPAGE.DAT
Ver 3.0:
* The comm routines have been completely rewritten to get around the poor
communications support provided by QuickBASIC. SHAMpage now uses Jeff
Sumberg's wonderful QBSERIAL library to handle all comm routines. We now
have the ability to control COM1 - COM4 at speeds up to 115,200 baud. The
serial driver includes XON/XOFF and CTS/RTS handshaking. Serial input is
interrupt driven, with incoming XOFF flow control (if enabled) and/or RTS
flow control (if enabled) to prevent overrunning the input buffer.
Ver 2.1:
* Added two (optional) lines to SHAMPAGE.CFG to allow enabling/disabling the
page bell by the hour.
* Changed the page bell to more closely mimic WildCat!'s page bell.
* Changed the [F2] User Stats to be transparent to the caller.
Ver 2.0:
* Randomized key word responses so they come up in a different order each
time the door is run. Previously, they always appeared in last-to-first
order.
* Made new option for WildCat! split-screen chat emulation.
* Modified opening "Paging SysOp... " to mimic WildCat!'s
* Modified SysOp's lines 24 & 25 to show other options (which were in
previous releases - but nobody knew about them).
* Rewrote documentation.
* Changed colors to match WildCat!'s
* Changed some other colors for cosmetic reasons.
Ver 1.1:
* Added "Delay Factor" to make the typing rate realistic on any machine.
Ver 1.0:
* First version released to the public.